Skip to main content

Full text of "PoC || GTFO 0x09"

See other formats


GTFO 



PoC 




PASTOR MANUL LAPHROAIG’S 

TABERNACLE CHOIR 

SINGS REVERENT ELEGIES 

OF THE 

SECOND CRYPTO WAR 

September 14, 2015 



9:2 A Sermon on Newton and Turing 

9:3 Globalstar Satellite Communications 

9:4 Keenly Spraying the Kernel Pools 

9:5 The Second Underhanded Crypto Contest 

9:6 Cross VM Communications 

9:7 Antivirus Tumors 



9:8 A Recipe for TCP/IPA 
9:9 Mischief with AX. 25 and APRS 
9:10 Napravi i ti Racunar „Galaksija“ 

9:11 Root Rights are a Grrl’s Best Friend! 
9:12 What If You Could Listen to This PDF? 
9:13 Oona’s Puzzle Corner! 



Novi Sad, Serbia and Stockholm, Sweden: 

Funded by Single Malt as Midnight Oil and the 
Tract Association of PoC || GTFO and Friends, 
to be Freely Distributed to all Good Readers, and 
to be Freely Copied by all Good Bookleggers. 

Oto caMHS^aT. Quand un livre a ete ecrit et bien ecrit, n’ayez aucun scrupule, prenez-le, copiezU 
€0, $0 USD, £0, 0 RSD, 0 SEK, $50 CAD. pocorgtfo09.pdf. 



1 



Legal Note: To all interested parties except Adobe Systems, unlimited license is granted to read, duplicate, 

share, reprint, and learn from this document. Adobe Systems may not read or learn from this document 
unless they agree in writing to (1) forgive the editors for pirating Adobe Photoshop 4.0 for Macintosh and 
(2) stop blacklisting our lovely little polyglot files! (An apology to Dmitry Sklyarov would also be nice.) 

Reprints: Bitrot will burn libraries with merciless indignity that even Pets Dot Com didn’t deserve. Please 

mirror-don’t merely linkl-pocorgtfo09.pdf and our other issues far and wide, so our articles can help fight 
the coming robot apocalypse. 

Technical Note: You’ll be happy to find that pocorgtfo09.pdf is a polyglot that is valid in three file 

formats. You may interpret it as a PDF to read this issue, as a ZIP to read this issue’s source code 
releases, or as a WavPack lossless audio file to listen to fbz’ classic from page 60. You may have to change 
the file extension to .wv, depending on your audio player. A list of compatible players is available at 
http : //www. wavpack. com/#Sof tware. 

Printing Instructions: Pirate print runs of this journal are most welcome! PoC||GTFO is to be printed 

duplex, then folded and stapled in the center. Print on A3 paper in Europe and Tabloid (11” x 17”) paper 
in Samland. Secret government labs in Canada may use P3 (280 mm x 430 mm) if they like. The outermost 
sheet should be on thicker paper to form a cover. 

# This is how to convert an issue for duplex printing. 
sudo apt-get install pdf jam 

pdf book --short-edge --vanilla --paper a3paper pocorgtfo09.pdf -o pocorgtfo09-book.pdf 




Preacherman 

Ethics Advisor 

Poet Laureate 

Editor of Last Resort 

Carpenter of the Samizdat Hymnary 

Editorial Whipping Boy 

Funky File Formats Polyglot 

Assistant Scenic Designer 

Minister of Spargelzeit Weights and Measures 



Manul Laphroaig 
The Grugq 
Ben Nagy 
Melilot 
Redbeard 
Jacob Torrey 
Ange Albertini 
Philippe Teuwen 
FX 



2 





1 Please stand; now, please be seated. 



Neighbors, please join me in reading this tenth 
release of the International Journal of Proof of Con- 
cept or Get the Fuck Out, a friendly little collection 
of articles for ladies and gentlemen of distinguished 
ability and taste in the field of software exploitation 
and the worship of weird machines. This is our tenth 
release, given on paper to the fine neighbors of Novi 
Sad, Serbia and Stockholm, Sweden. 

If you are missing the first nine issues, we the 
editors suggest pirating them from the usual loca- 
tions, or on paper from a neighbor who picked up a 
copy of the first in Vegas, the second in Sao Paulo, 
the third in Hamburg, the fourth in Heidelberg, the 
fifth in Montreal, the sixth in Las Vegas, the seventh 
from his parents’ inkjet printer during the Thanks- 
giving holiday, the eighth in Heidelberg, or the ninth 
in Montreal. 

Page 4 contains our very own Pastor Manul 
Laphroaig’s sermon on Newton and Turing, in which 
we learn about the academics’ affection for Turing- 
completeness and why they should be allowed to 
marry it. 

On page 7, Colby Moore provides all the details 
you’ll need to sniff simplex packets from the Glob- 
alstar satellite constellation. 

Page 12 introduces some tips by Peter Hlavaty of 
the Keen Team on kernel pool spraying in Windows 
and Linux. 

Page 19 presents the results of the second Under- 
handed Crypto Contest, held at the Crypto Village 
of Defcon 23. 




On page 21, Sophia D ’Antoine introduces some 
tricks for communicating between virtual machines 
co- located on the same physical host. In particular, 
the mf ence instruction can be used to force strict or- 
dering, interfering with CPU instruction pipelining 
in another VM. 

Eric Davisson, on page 26, presents a nifty lit- 
tle trick for causing quarantined malware to be re- 
detected by McAfee Enterprise VirusScan! This par- 
ticular tumor is benign, but we bet a neighborly 
reader can write a malignant variant. 

Ron Fabela of Binary Brew Works, on page 28, 
presents his recipe for TCP/IPA, a neighborly beer 
with which to warm our hearts and our spirits dur- 
ing the coming apocalypse. 

Our centerfold in this issue is the schematic dia- 
gram to an Electronika BK 0010-01 computer from 
the USSR. You wouldn’t believe how difficult it is 
to google the proper way to render a centerfold in 
DTeX! 

Vogelfrei shares with us some tricks for APRS 
and AX. 25 networking on page 34. APRS exists 
around much of the western world, and all sorts of 
mischief can be had through it. (But please don’t 
be a jerk.) 

Much as some readers think of us as a secu- 
rity magazine, we are first and foremost a systems- 
internals journal with a bias toward the strange and 
the classic designs. Page 40 contains a reprint, in 
the original Serbian, of Voja Antonie’ article on the 
Galaksija, his Z80 home computer design, the very 
first in Yugoslavia. 

fbz is a damned fine neighbor of ours, both a 
mathematician and a musician. On page 60 you’ll 
find her latest single, Root Rights are a GrrVs Best 
Friend! If you’d rather listen to it than just read 
the lyrics, run vie pocorgtfo09.pdf and jump to 
page 61, where Philippe Teuwen describes how he 
made this fine document a polyglot of PDF, ZIP, 
and WavPack. 

On page 62, you will find Oona’s Puzzle Corner, 
with all sorts of nifty games for a child of five. If 
you aren’t clever enough to solve them, then ask for 
help from a child of five! 

On page 64, the last and most important 
page, we pass around the collection plate. Pastor 
Laphroaig doesn’t need a touring jumbo jet like 
those television and radio preachers; rather, this 
humble worshiper of the weird machines needs a 
Turing jumbo jet with which to storm Heaven! 



3 




1 Academics should just marry Turing Completeness already !” 

—the grugq 



2 From Newton to Turing, a Happy Family 

by Pastor Manul Laphroaig D.D. 



When engineers first gifted humanity with horse- 
less carriages that moved on rails under their own 
power, this invention, for all its usefulness, turned 
out to have a big problem: occasional humans and 
animals on the rails. This problem motivated many 
inventors to look for solutions that would be both 
usable and effective. 




Unfortunately, none worked. The reason for 
this is not so easy to explain— at least Aristotelian 
physics had no explanation, and few scientists till 
Galileo’s time were interested in one. On the one 
hand, motion had to brought on by some force and 
tended to kinda barrel about once it got going; on 
the other hand, it also tended to dissipate eventu- 
ally. It took about 500 years from doubting the 
Aristotelian idea that motion ceased as soon as its 
impelling force ceased to the first clear pronounce- 
ment that motion in absence of external forces was 
a persistent rather than a temporary virtue; and an- 
other 600 for the first correct formulation of exactly 
what quantities of motion were conserved. Even so, 
it took another century before the mechanical con- 
servation laws and the actual names and formulas 
for momentum and energy were written down as we 
know them. 




These days, “conservation of energy” is supposed 
to be one of those word combinations to check off 
on multiple-choice tests that make one eligible for 
college. 1 Yet we should remember that the steam 
engine was invented well before these laws of clas- 
sical mechanics were made comprehensible or even 
understood at all. Moreover, it took some further 
40-90 years after Watt’s ten- horsepower steam en- 
gine patent to formulate the principles of thermody- 
namics that actually make a steam engine work— by 
which time it was chugging along at 10,000 horse- 
power, able to move not just massive amounts of 
machinery but even the engine’s own weight along 
the rails, plus a lot more. 2 

All of this is to say that if you hear scientists 
doubting how an engineer can accomplish things 
without their collective guidance, they have a lot 
of history to catch up with, starting with that thing 
called the Industrial Revolution. On the other hand, 
if you see engineers trying to build a thing that just 
doesn’t seem to work, you just might be able to point 
them to some formulas that suggest their energies 
are best applied elsewhere. Distinguishing between 
these two situations is known as magic, wisdom, ex- 
treme luck, or divine revelation; whoever claims to 
be able to do so unerringly is at best a priest, 3 not 
a scientist. 



1 Whether one actually understands them or not — and, if you value your sanity, do not try to find if your physics teachers 
actually understand them either. You have been warned. 

2 Not that stationary steam engines were weaklings either: driving ironworks and mining pumps takes a lot of horses. 

3 Typically, of a religion that involves central planning and state-run science. This time they’ll get it right, never fear! 



4 




There is an old joke that whatever activity needs 
to add “science” to its name is not too sure it is one. 
Some computer scientists may not take too kindly 
to this joke, and point out that it’s actually the 
word “computer” that’s misleading, as their science 
transcends particular silicon- and-copper designs. It 
is undeniable, though, that hacking as we know it 
would not exist without actual physical computers. 

As scientists, we like exhaustive arguments: ei- 
ther by full search of all finite combinatorial pos- 
sibilities or by tricks such as induction that look 
convincing enough as a means of exhausting infinite 
combinations. We value above all being able to say 
that a condition never takes place, or always holds. 
We dislike the possibility that there can be a situa- 
tion or a solution we can overlook but someone may 
find through luck or cleverness; we want a yes to 
be a yes and a no to mean no way in Hell. But ei- 
ther full search or induction only apply in the world 
of ideal models— call them combinatorial, logical, or 
mathematical— that exclude any kinds of unknown 
unknowns. 

Hence we have many models of computation: 
substituting strings into other strings (Markov algo- 
rithms), rewriting formulas (lambda calculus), au- 
tomata with finite and infinite numbers of states, 
and so on. The point is always to enumerate all fi- 
nite possibilities or to convince ourselves that even 
an infinite number of them does not harbor the ones 
we wish to avoid. The idea is roughly the same as 
using algebra: we use formulas we trust to reason 
about any and all possible values at once, but to do 
so we must reduce reality to a set of formulas. These 
formulas come from a process that must prod and 
probe reality; we have no way of coming up with 
them without prodding, probing, and otherwise ex- 
perimenting by hunch and blind groping— that is, by 
building things before we fully understand how they 
work. Without these, there can be no formulas, or 
they won’t be meaningful. 

So here we go. Exploits establish the variable 
space; “science” searches it, to our satisfaction or 
otherwise, or— importantly to save us effort— asserts 
that a full and exhaustive search is infeasible. This 
may be the case of energy conservation vs. trying 
to construct a safer fender— or, perhaps, the case 
of us still trying to formulate what makes sense to 



attempt. 

That which we call the “arms race” is a part of 
this process. With it, we continually update the 
variable spaces that we wish to exhaust; without it, 
none of our methods and formulas mean much. This 
brings us to the recent argument about exploits and 
Turing completeness. 




Knowledge is power . 4 In case of the steam en- 
gine, the power emerged before the kind of knowl- 
edge called “scientific” (if one is in college) or “basic” 
(if one is a politician looking to hitch a ride— because 
actual science has a tradition of overturning its own 
“basics” as taught in schools for at least decades if 
not centuries). In any case, the knowledge of how 
to build these engines was there before the knowl- 
edge that actually explained how they worked, and 
would hardly have emerged if these things had not 
been built already. 




4 The question of whether that which is not power is still knowledge is best left to philosophers. One can blame Nasir al-Din 
al-Tusi for explaining the value of Astrology to Khan Hulagu by dumping a cauldron down the side of a mountain to wake up 
the Khan’s troops and then explaining that those who knew the causes above remained calm while those who didn’t whirled in 
confusion below — but one can hardly deny that being able to convince a Khan was, in fact, power. Not to mention his horde. 
Because a Khan, by definition, has a very convincing comeback for “Yeah? You and what horde?” 



5 






Our very own situation, neighbors, is not unlike 
that of the steam power before the laws of ther- 
modynamics. There are things that work (pump 
mines, drive factories), and there are official ways of 
explaining them that don’t quite work. Eventually, 
they will merge, and the explanations will catch up, 
and will then become useful for making things that 
work better— but they haven’t quite yet, and it is 
frustrating. 




exploit programming, they not just focused on 
the least practically relevant aspect of it (Tur- 
ing completeness)— but did so to the exclusion of 
all other kinds of niftyness such as information 
leaks, probabilistic programming (heap feng-shui 
and spraying), parallelism (cloning and pinning of 
threads to sap randomization), and so on. That 
focus on the irrelevant to the detriment of the rele- 
vant had really rankled. It was hard to miss where 
the next frontier of exploitation’s hard programming 
tasks and its next set of challenges lay, but oh boy, 



did the academia do it again. 

Yet it is also clear why they did it. Academic 
CS operates by models and exhaustive searches or 
reasoning. Its primary method and deliverable is 
exhaustive analysis of models, i.e., the promise that 
certain bad things never happen, that all possible 
trajectories of a system have been or can be enu- 
merated. 

Academia first saw exploit programming when 
it was presented to it in the form of a model; prior 
to that, their eyes would just slide off it, because it 
looked “ad-hoc”, and one can neither reason about 
“ad-hoc” nor enumerate it (at least, if one wants 
to meet publication goals). When it turned out it 
had a model, academia did with it what it normally 
does with models: automating, tweaking, searching, 
finding their theoretical limits, and relating them to 
other models, one paper at a time . 5 

This is not a bad method; at least, it gave us 
complex compilers and CPUs that don’t crumble 
under the weight of their bugs . 6 Eventually we will 
want the kind of assurances this method creates— 
when their models of unexpected execution are com- 
plete enough and close enough to reality. For now, 
they are not, and we have to go on building our en- 
gines without guidance from models, but rather to 
make sure new models will come from them. 

Not that we are without hope. One only has 
to look to Grsecurity/PaX at any given time to 
see what will eventually become the precise stuff of 
Newton’s laws for the better OS kernels; similarly, 
the inescapable failure modes of data and program- 
ming complexity will eventually be understood as 
clearly as the three principles of thermodynamics. 
Until then our best bet is to build engines— however 
unscientific— and to construct theories— however re- 
moved from real power— and to hope that the en- 
gineering and the science will take enough notice of 
each other to converge within a lifetime, as they have 
had the sense to do during the so-called Industrial 
Revolution, and a few lucky times since. 

And to this, neighbors, the Pastor raises not one 
but two drinks— one for the engineering orienting the 
science, and one for the science catching up with the 
knowledge that is power, and saving it the effort of 
what cannot be done— and may they ever converge! 
Amen. 



5 And some of these papers were true Phrack-like gems that, true to the old-timey tradition, explained and exposed surprising 
depths of common mechanisms: see, for example, SROP and COOP. 

6 While, for example, products of the modern web development “revolution” already do, despite being much less complex 
than a CPU. 



6 



3 Breaking Globalstar Satellite Communications 



by Colby Moore 

It might be an understatement to say that hackers have a fascination with satellites. Fortunately, with 
advancements in Software Defined Radio such as the Ettus Research USRP and Michael Ossmann’s HackRF, 
satellite hacking is now not only feasible, but affordable. Here we’ll discuss the reverse engineering of 
Globalstar’s Simplex Data Service, allowing for interception of communications and injection of data back 
into the network. 

Rumor has it, that after deployment, Globalstar’s first generation of satellites began to fail, possibly due 
to poor radiation hardening. This affected the return path data link, where Globalstar would transmit to a 
user. To salvage the damaged satellite network, Globalstar introduced a line of simplex products that enable 
short, one-way communication from the user to Globalstar. 

The nature of the service makes it ideal for asset tracking and remote sensor monitoring. While extremely 
popular with oil and gas, military, and shipping industries, this technology is also widely used by consumers. 
A company called SPOT produces consumer- grade asset trackers and personal locator beacons that utilize 
this same technology. 

Globalstar touts their simplex service as “extremely difficult” to intercept, noting that the signal’s “Low- 
Probability-of-Intercept (LPI) and Low- Probability-of-Detection(LPD) provide over-the-air security.” 7 
In this article I’ll outline the basics for reverse engineering the Globalstar Simplex Data Services mod- 
ulation scheme and protocol, and will provide the technical information necessary to interface with the 
network. 

3.1 Network Architecture 

The network is comprised of many Low Earth Orbit, bent-pipe satellites. Data is transmitted from the user 
to the satellite on an uplink frequency and repeated back to Earth on a downlink frequency. Globalstar 
ground stations all over the world listen for this downlink data, interpret it, and expose it to the user via an 
Internet-facing back-end. Each ground station provides a several thousand mile window of data coverage. 

Bent-pipe satellites are “dumb” in that they do not modify the transmitted data. This means that the 
data on the uplink is the same on the downlink. Thus, with the right knowledge, a skilled adversary can 
intercept data on either link. 

3.2 Tools and Code 

This research was conducted using GNURadio and Python for data processing and an Ettus Research B200 
for RF work. Custom proof-of-concept toolsets were written for DSSS and packet decoding. Devices tested 
include a SPOT Generation 3, a SPOT Trace, and a SmartOne A. 

3.3 Frequencies and Antennas 

Four frequencies are allocated for the simplex data uplink. Current testing has only shown operation on 
channel A. 



Channel 


Frequency 


A 


1611.25 MHz 


B 


1613.75 MHz 


C 


1616.25 MHz 


D 


1618.78 MHz 



7 http : //productsupport . globalstar . com/2009/02/09/are-simplex-messages-secure/ 



7 





Globalstar uses left-hand circular-polarized antennas for transmission of simplex data from the user to 
the satellite. The Globalstar GSP-1620 antenna, designed for transmitting from the user to a satellite, has 
proven adequate for experimentation. 

Downlink is a bit more complicated, and far more faint. Channels vary by satellite, but are within the 
6875-7055 MHz range. Both RHCP and LHCP are used for downlink. 

3.4 Direct Sequence Spread Spectrum 

Devices using the simplex data service implement direct sequence spread spectrum (DSSS) modulation to 
reliably transmit data using low power. DSSS is a modulation scheme that works by mixing a slow data signal 
with a very fast Pseudo Noise (PN) sequence. Since the pseudo-random sequence is known, the resulting 
signal retains all of the original data information but spread over a much wider spectrum. Among other 
benefits, this process makes the signal more tolerant to interference. 

In Globalstar’s implementation of DSSS, packet data is first modulated as non-differential BPSK at 

100.04 bits/second, then spread using a repeating 255 chip PN sequence at a rate of 1,250,000 chips/second. 
Here “chip” refers to one bit of a PN sequence, so that it is not confused with actual data bits. 

3.5 Pseudo Noise Sequence / M-Sequences 

Pseudo Noise (PN) sequences are periodic binary sequences known by both the transmitter and receiver. 
Without this sequence, data cannot be received. The simplex data service uses a specific type of PN sequence 
called an M-Sequence. 

M-Sequences have the unique property of having a strong autocorrelation for phase shifts of zero but 
very poor correlation for any other phase shift. This makes the detection of the PN in unknown data, and 
subsequently locking on to a DSSS signal, relatively simple. 

All simplex data network devices examined use the same PN sequence to transmit data. By knowing one 
code, all network data can be intercepted. 

3.6 Obtaining The M-Sequence 

In order to intercept network data, the PN sequence must be recovered. For each bit of data transmitted, 
the PN sequence repeats 49 times. Data packets contain 144 bits. 



8 



1,250,000 chips 1 second 

x 

1 second 100.04 bits 



1 PN sequence 

x 

255 chips 



49 PN sequences / bit 



The PN sequence never crosses a bit boundary, so it can be inferred that 
xor (PN, data) = PN 



By decoding the transmitted data stream as BPSK, 8 we can demodulate a spread bitstream. Note that 
demodulation in this manner negates any processing gain provided from DSSS and thus can only be received 
over short distances, so for long distances you will need to use a proper DSSS implementation. 

Viewing the demodulated bitstream, a repeating sequence is observed. This is the PN, the spreading 
code key to the kingdom. 

The simplex data network PN code is 1111111100101101011011101010101110010011011010011001101- 
00011101101100010001001111010010010000111100010100111000111110101111001110100001010110010- 
10001011000001100100011000011011111101110000100000100101010010111110000001110011000110101- 
0000000101110111101100. 

3.7 Despreading 

DSSS theory states that to decode a DSSS-modulated signal, a received signal must be mixed once again 
with the modulating PN sequence; the original data signal will then fall out. However, for this to work, the 
PN sequence needs to be phase-aligned with the mixed PN/data signal, otherwise only noise will emerge. 

Alignment of the PN sequence to the data stream if accomplished by correlating the PN sequence against 
the incoming datastream at each sample. When aligned, the correlation will peak. To despread, this 
correlation peak is tracked and the PN is mixed with the sampled RF data. The resulting signal is the 
100.04 bit/second non-differential BPSK modulated packet data. 

3.8 Decoding and Locations 

Once the signal is despread, a BPSK demodulator is used to recover data. The result is a binary stream, 
144 bytes in length, representing one data packet. The data packet format is as follows: 



Field 


Bits 


Description 


Preamble 


(10) 


0000001011 signifies start of packet 


ESN 


(26) 


3 bits for manufacturer ID and 23 bits for unit ID 


Message # 


(4) 


message number modulo 16, saved in non-volatile memory 


Packet # 


(4) 


number of packets in a message 


Packet Seq. # 


(4) 


sequence number for each packet in a message 


User Data 


(72) 


9 bytes of user information, MSB first 


CRC24 


(24) 


CRC is 24 bits with polynomial: 114377431 



Simplex data packets can technically transmit any 72 bits of user defined data. However, the network is 
predominantly used for asset tracking and thus many packets contain GPS coordinates being relayed from 
tracking devices. This data scheme for GPS coordinates can be interpreted with the following Python code. 

latitude = i n t ( user _data [ 8 : 3 2 ] , 2 ) * 90 / 2**23 
longitude = 360 — in t ( user _data [ 3 2 : 5 6 ] ,2) * 180 / 2**23 



8 DSSS theory shows us that DSSS is the same as BPSK for a BPSK data signal. 



9 







3.9 CRC 



Packets are verified using a 24 bit CRC. The data packet minus the preamble and CRC are fed into the CRC 
algorithm in order to verify or generate a CRC. The following Python code implements the CRC algorithm. 



2 

4 

6 



10 

12 

14 

16 

18 

20 

22 

24 

26 

28 

30 

32 

34 

36 

38 

40 

42 

44 

46 



def crcTwentyfour (TX_Data) : 

k = 0 
m = 0 

TempCRC = 0 
Crc = OxFFFFFF 

for k in range (0,14): #calc checksum on 14 bytes starting with ESN 

#offset to skip part of the preamble (dictated by algorithm) 
TempCRC = int (TX_Data[ (k*8)+8 : (k*8)+8+8 ] , 2) 

if 0 = k: 

#skip 2 preamble bits in byteO 
TempCRC = TempCRC & 0x3f 

Crc = Crc ~ (TempCRC) <<16 



for m in range (0,8) : 

Crc = Crc « 1 

if Crc & 0x1000000: 

#seed CRC 

Crc = Crc ~ 0114377431L 



Crc = ( Crc) & Oxffffff ; 

#end crc generation, lowest 24 bits of the long hold the CRC 

ff first CRC byte to TX_Data 
bytel4 = (Crc Sz OxOOffOOOO) » 16 

#second CRC byte to TX_Data 
bytel5 = (Crc & OxOOOOffOO) » 8 

#third CRC byte to TX_Data 
bytel6 = (Crc & OxOOOOOOff) 

final_crc = (bytel4 « 16) | (bytel5 « 8) | bytel6 

if final _ crc != int (TX_Data[ 1 20 : 1 44] , 2): 
print "Error: CRC failed" 
sys . exit (0) 



3.10 Transmitting 

DISCLAIMER: It is most likely illegal to transmit on Globalstar’s frequencies where you live. Do so at your 
own risk. Remember, no one likes late night visits from the FCC and it would really suck if you interrupted 
someone’s emergency communication! 

By knowing the secret PN code, modulation parameters, data format, and CRC, it is possible to craft 
custom data packets and inject them back into the satellite network. The process is as follows: 

• Generate a custom packet 



10 





• Calculate and affix the packet’s CRC 



• Spread the packet using the Globalstar PN sequence 

• BPSK modulate the spread data and transmit on the RF carrier 

Various SDR boards should have enough power to communicate with the network, however COTS am- 
plifiers are available for less than a few hundred dollars. Specifications suggests a transmit power of about 
200 milliwatts. 

3.11 Spoofing 

SPOT produces a series of asset trackers called SPOT Trace. SPOT also provides SPOT_Device_Updater .pkg, 
an OS X update utility, to configure various device settings. This utility contains development code that is 
never called by the consumer application. 

The updater app package contains SP0T3FirmwareTool . jar. Decompilation shows that a UI view calls 
a method writeESNO in SPOTDevice . class. You read that correctly, they included the functionality to 
program arbitrary serial numbers to SPOT devices! 

This UI can be called with a simple Java utility. 

import com . globalstar . SPOT3FirmwareTool . UI . Debug Console ; 

2 

public class SpotDebugConsole { 

4 public static void main ( St ring [ ] args) { 

DebugConsole . main ( args ) ; 

6 } 

} 



Upon execution, a debug console is launched, allowing the writing of arbitrary settings including ESNs, to 
the SPOT device. (This functionality was included in Spot Device Updater 1.4 but has since been removed.) 

3.12 Impact 

The simplex data network is implemented in countless places worldwide. Everything from SCADA monitor- 
ing to emergency communications relies on this network. To find that there is no encryption or authentication 
on the services examined is sad. And to see that injection back into the network is possible is even worse. 

Using the specifications outlined here, it is possible— among other things— to intercept communications 
and track assets over time, spoof an asset’s location, or even cancel emergency help messages from personal 
locator beacons. 

One could also enhance their own service, create their own simplex data network device, or use the 
network to transmit their own covert communications. 

3.13 PoC and Resources 

This work was presented at BlackHat USA 2015 and proof-of-concept code is available both by Github and 
within this PDF file. 9 



9 git clone https://github.com/synack/globalstar 
unzip pocorgtfo09.pdf globalstar . tar . bz2 



11